Configuration

@objc(LSConfiguration)
final class Configuration
extension Configuration : CVarArg, CustomDebugStringConvertible, CustomStringConvertible, Equatable, Hashable, NSCopying, NSObjectProtocol

LicenseSpring SDK configuration.

  • Undocumented

    Declaration

    Swift

    func copy(with zone: NSZone? = nil) -> Any
  • API key acquired from LicenseSpring.

    Declaration

    Swift

    @objc
    var apiKey: String
  • Shared key acquired from LicenseSpring.

    Declaration

    Swift

    @objc
    var sharedKey: String
  • Product code code acquired from LicenseSpring.

    Declaration

    Swift

    @objc
    var productCode: String
  • Application name. Defaults to main application bundle name if not set.

    Declaration

    Swift

    @objc
    var appName: String
  • Application version. Defaults to main application bundle short version if not set.

    Declaration

    Swift

    @objc
    var appVersion: String
  • Customer group (account) code that is required for SSO.

    Note

    Meaningful for user-based auth only. If you don’t plan to provide SSO you can ignore this method. By default empty. Contact support to get more details implementing SSO.

    Declaration

    Swift

    @objc
    var customerAccountCode: String?
  • Air gap public key.

    Declaration

    Swift

    @objc
    var airgapKey: String?
  • Custom name of local license file.

    Declaration

    Swift

    @objc
    var licenseFileName: String
  • Custom directory containing local license file.

    Declaration

    Swift

    @objc
    var licenseDirectoryPath: URL
  • Alternate base URL for LicenseSpring API.

    Note

    In general should not be used in client code.

    Declaration

    Swift

    @objc
    var serviceURL: URL
  • Custom hardware ID of the device.

    Declaration

    Swift

    @objc
    var hardwareID: String
  • Boolean indicates if SDK should send host, local IP and MAC to the LicenseSpring platform.

    Declaration

    Swift

    @objc
    var collectHostNameAndLocalIP: Bool
  • Timeout value for network operations.

    Declaration

    Swift

    @objc
    var networkTimeout: TimeInterval
  • Timeout value for network operations.

    Declaration

    Swift

    @objc
    var licenseCryptor: any LicenseCryptor
  • HTTPs proxy host.

    Declaration

    Swift

    @objc
    var proxyHost: String?
  • HTTPs proxy port.

    Declaration

    Swift

    @objc
    var proxyPort: UInt16
  • License grace period in seconds.

    If not set, then default will be 48 hours. Set 0 to disable grace period.

    For cloud floating licenses grace period on license check is enabled if more than an hour of floating period remains.

    Declaration

    Swift

    @objc
    var gracePeriod: TimeInterval
  • ClientID

    Declaration

    Swift

    @objc
    var client_id: String
  • Client Secret

    Declaration

    Swift

    @objc
    var client_secret: String
  • Crypto Provider Key

    Declaration

    Swift

    @objc
    var CryptoProviderKey: String
  • IsOAuth

    Declaration

    Swift

    @objc
    var isOauth: Bool
  • ProtectOfflineActivation

    Declaration

    Swift

    @objc
    var isGuardFileEnabled: Bool { get }
  • ExtendedOptions

    Declaration

    Swift

    @objc
    var extendedOptions: ExtendedOptions?
  • IsLoggingEnabled

    Declaration

    Swift

    @objc
    var isLoggingEnabled: Bool
  • Whether detection of Virtual machines is enabled

    Declaration

    Swift

    @objc
    var isVMDetectionEnabled: Bool { get }
  • In case VM detection enabled returns true if app currently running in virtualized environment

    Declaration

    Swift

    @objc
    var isVM: Bool { get }
  • Detected virtual machine name

    Declaration

    Swift

    @objc
    var detectedVMName: String? { get }
  • PublicKey

    Declaration

    Swift

    @objc
    var publicKey: String
  • PublicKey from base64 String

    Declaration

    Swift

    @objc
    var publicKeyFromBase64: SecKey? { get }
  • Undocumented

    Declaration

    Swift

    @objc
    init(apiKey: String, sharedKey: String, productCode: String, publicKey: String? = nil, extendedOptions: ExtendedOptions? = nil)
  • Undocumented

    Declaration

    Swift

    @objc
    init(oAuthCredentials: OAuthCredentials, productCode: String, publicKey: String? = nil, extendedOptions: ExtendedOptions? = nil)
  • Undocumented

    Declaration

    Swift

    static let defaultServiceURL: URL
  • Undocumented

    Declaration

    Swift

    static let defaultLicenseFileName: String
  • Full path to the license file.

    Declaration

    Swift

    @objc
    var licenseFile: URL { get }
  • Undocumented

    Declaration

    Swift

    func createExtendedOptions(enableVMDetection: Bool = false, alternateKey: String? = nil, proxy: ProxySettings = ProxySettings(), cloudIdRequestTimeout: Int = 200, deviceIdAlgorithm: DeviceIDAlgorithm = .default, customHeaders: [String : String] = [:], bundleCode: String? = nil, airgapSkipLocalTimeCheck: Bool = false, protectOfflineActivation: Bool = true) -> ExtendedOptions
  • Undocumented

    Declaration

    Swift

    func createExtendedOptionsDefault() -> ExtendedOptions
  • Undocumented

    Declaration

    Swift

    func createProxySettings(user: String, password: String, proxyUri: String? = nil) -> ProxySettings